-
Notifications
You must be signed in to change notification settings - Fork 127
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(qlog): log version_information on client #1505
Conversation
This commit upgrades all `neqo-*` crates to use `qlog` `v0.10.0`. See also `qlog` `v0.10.0` release pull request cloudflare/quiche#1647
This commit adds support for the qlog [`version_information` QUIC event](https://quicwg.org/qlog/draft-ietf-quic-qlog-quic-events.html#name-version_information) on the client. Depends on mozilla#1504 Depends on cloudflare/quiche#1684 Meta issue: mozilla#528
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the server, look in server.rs
for fn accept_connection(...)
. That is where a new connection is handled. There shouldn't be a negotiated equivalent on the server, but the recording of failed version negotiation can be recorded.
For VN, you can make a call in fn process_input(...)
right where it calls PacketBuilder::version_negotiation(...)
, which is where the Version Negotiation packet is sent. For that, you'll need to create a new QLog instance with self.create_qlog_trace(attempt_key)
. You will have to follow other code for that. I probably wouldn't bother trying to reduce the number of logging events from the same remote address and DCID, because that just creates a cleanup hazard.
That won't catch all cases, but enough.
With cloudflare/quiche#1684 merged, one can use cloudflare's repo.
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #1505 +/- ##
==========================================
- Coverage 87.61% 87.56% -0.05%
==========================================
Files 117 117
Lines 37848 37841 -7
==========================================
- Hits 33160 33135 -25
- Misses 4688 4706 +18 ☔ View full report in Codecov by Sentry. |
…ion-information
…ion-information
Patch no longer needed since upgrade to neqo v0.11.0 mozilla#1547.
With #1547 merged, all outstanding comments are addressed. @martinthomson or @larseggert could either of you take another look? |
I opened #1549 for the server side. I was waiting to see what you planned there, that's all. |
👋 Hi there
This is Max, first time contributor.
Let me know if this tiny pull request is of some help. Would appreciate a review and pointers to what to tackle next.
Thank you for QUIC support in Firefox!
This commit adds support for the qlog
version_information
QUIC event on the client.Depends on #1504
Depends on cloudflare/quiche#1684
Meta issue: #528
This commit does not add server-side support. I was unsure where to add the
qlog::xxx
call. With my limited knowledge of the code base, I would place it in theTransportParametersHandler
, though as of today, it does not have access to the connection'sNeqoQlog
. Thoughts?